
<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta charset="utf-8" />
    <title>System &#8212; atomman 1.4.0 documentation</title>
    <link rel="stylesheet" href="_static/basic.css" type="text/css" />
    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
    <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
    <script type="text/javascript" src="_static/jquery.js"></script>
    <script type="text/javascript" src="_static/underscore.js"></script>
    <script type="text/javascript" src="_static/doctools.js"></script>
    <script type="text/javascript" src="_static/language_data.js"></script>
    <script crossorigin="anonymous" integrity="sha256-Ae2Vz/4ePdIu6ZyI/5ZGsYnb+m0JlOmKPjt6XZ9JJkA=" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.4/require.min.js"></script>
    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/latest.js?config=TeX-AMS-MML_HTMLorMML"></script>
    <script type="text/x-mathjax-config">MathJax.Hub.Config({"tex2jax": {"inlineMath": [["$", "$"], ["\\(", "\\)"]], "processEscapes": true, "ignoreClass": "document", "processClass": "math|output_area"}})</script>
    <link rel="index" title="Index" href="genindex.html" />
    <link rel="search" title="Search" href="search.html" />
    <link rel="next" title="ElasticConstants" href="atomman.ElasticConstants.html" />
    <link rel="prev" title="Box" href="atomman.Box.html" /> 
  </head><body>
    <div class="related" role="navigation" aria-label="related navigation">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="genindex.html" title="General Index"
             accesskey="I">index</a></li>
        <li class="right" >
          <a href="py-modindex.html" title="Python Module Index"
             >modules</a> |</li>
        <li class="right" >
          <a href="atomman.ElasticConstants.html" title="ElasticConstants"
             accesskey="N">next</a> |</li>
        <li class="right" >
          <a href="atomman.Box.html" title="Box"
             accesskey="P">previous</a> |</li>
        <li class="nav-item nav-item-0"><a href="index.html">atomman 1.4.0 documentation</a> &#187;</li>
          <li class="nav-item nav-item-1"><a href="atomman.html" accesskey="U">atomman package</a> &#187;</li> 
      </ul>
    </div>  

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body" role="main">
            
  <div class="section" id="system">
<h1>System<a class="headerlink" href="#system" title="Permalink to this headline">¶</a></h1>
<dl class="class">
<dt id="atomman.System">
<em class="property">class </em><code class="sig-prename descclassname">atomman.</code><code class="sig-name descname">System</code><span class="sig-paren">(</span><em class="sig-param">atoms=None</em>, <em class="sig-param">box=None</em>, <em class="sig-param">pbc=None</em>, <em class="sig-param">scale=False</em>, <em class="sig-param">symbols=None</em>, <em class="sig-param">masses=None</em>, <em class="sig-param">model=None</em>, <em class="sig-param">safecopy=False</em><span class="sig-paren">)</span><a class="headerlink" href="#atomman.System" title="Permalink to this definition">¶</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.9)"><code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></a></p>
<p>A representation of an atomic system.  This combines Atoms with Box and
adds methods and attributes involving both.</p>
<dl class="method">
<dt id="atomman.System.atoms">
<em class="property">property </em><code class="sig-name descname">atoms</code><a class="headerlink" href="#atomman.System.atoms" title="Permalink to this definition">¶</a></dt>
<dd><p>underlying Atoms object.</p>
<dl class="field-list simple">
<dt class="field-odd">Type</dt>
<dd class="field-odd"><p><a class="reference internal" href="atomman.Atoms.html#atomman.Atoms" title="atomman.Atoms">atomman.Atoms</a></p>
</dd>
</dl>
</dd></dl>

<dl class="method">
<dt id="atomman.System.atoms_df">
<code class="sig-name descname">atoms_df</code><span class="sig-paren">(</span><em class="sig-param">scale=False</em><span class="sig-paren">)</span><a class="headerlink" href="#atomman.System.atoms_df" title="Permalink to this definition">¶</a></dt>
<dd><p>Extends Atoms.df() by adding a scale argument.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>scale</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.9)"><em>bool</em></a><em> or </em><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#list" title="(in Python v3.9)"><em>list</em></a><em>, </em><em>optional</em>) – Indicates if/which per-atom properties are to be scaled to box
relative values.  If False (default), no properties will be scaled.
If True, pos will be scaled.  Multiple properties can be scaled by
providing a list of the property names to scale.</p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>Tabulated DataFrame version of the atomic data.</p>
</dd>
<dt class="field-odd">Return type</dt>
<dd class="field-odd"><p>pandas.DataFrame</p>
</dd>
</dl>
</dd></dl>

<dl class="method">
<dt id="atomman.System.atoms_extend">
<code class="sig-name descname">atoms_extend</code><span class="sig-paren">(</span><em class="sig-param">value</em>, <em class="sig-param">scale=False</em>, <em class="sig-param">symbols=None</em>, <em class="sig-param">safecopy=False</em><span class="sig-paren">)</span><a class="headerlink" href="#atomman.System.atoms_extend" title="Permalink to this definition">¶</a></dt>
<dd><p>Extends Atoms.extend() to the System level by adding scale and symbols
arguments.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>value</strong> (<a class="reference internal" href="atomman.Atoms.html#atomman.Atoms" title="atomman.Atoms"><em>atomman.Atoms</em></a><em> or </em><a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.9)"><em>int</em></a>) – An int value will result in the atoms object being extended by
that number of atoms, with all per-atom properties having default
values (atype = 1, everything else = 0).  For an Atoms value, the
current atoms list will be extended by the correct number of atoms
and all per-atom properties in value will be copied over.  Any
properties defined in one Atoms object and not the other will be
set to default values.</p></li>
<li><p><strong>scale</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.9)"><em>bool</em></a><em>, </em><em>optional</em>) – Flag indicating if position values in a supplied Atoms value are to
be taken as absolute Cartesian (False, default) or in scaled box
relative units (True).</p></li>
<li><p><strong>symbols</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#tuple" title="(in Python v3.9)"><em>tuple</em></a><em>, </em><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#list" title="(in Python v3.9)"><em>list</em></a><em> or </em><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.9)"><em>None</em></a><em>, </em><em>optional</em>) – Allows for the system’s symbols list to be updated.  If not given,
will use the current object’s symbols.</p></li>
<li><p><strong>safecopy</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.9)"><em>bool</em></a><em>, </em><em>optional</em>) – Flag indicating if values are to be copied before setting.  If
False (default), underlying objects may be shared between the new
system and the current system and input parameters.  If True, atoms
and box will be deepcopied before setting.
Note that safecopy=True may be considerably slower for large
numbers of atoms and/or properties.</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>A new System object with Atoms extended to contain all atoms and
properties of the current object plus the additional atoms.  The
cuurent System object’s box and pbc (and symbols if not specified)
will be copied over.</p>
</dd>
<dt class="field-odd">Return type</dt>
<dd class="field-odd"><p><a class="reference internal" href="#atomman.System" title="atomman.System">atomman.System</a></p>
</dd>
</dl>
</dd></dl>

<dl class="method">
<dt id="atomman.System.atoms_ix">
<em class="property">property </em><code class="sig-name descname">atoms_ix</code><a class="headerlink" href="#atomman.System.atoms_ix" title="Permalink to this definition">¶</a></dt>
<dd><p>Indexer for index slicing of Systems by per-atom properties.</p>
</dd></dl>

<dl class="method">
<dt id="atomman.System.atoms_prop">
<code class="sig-name descname">atoms_prop</code><span class="sig-paren">(</span><em class="sig-param">key=None</em>, <em class="sig-param">index=None</em>, <em class="sig-param">value=None</em>, <em class="sig-param">a_id=None</em>, <em class="sig-param">scale=False</em><span class="sig-paren">)</span><a class="headerlink" href="#atomman.System.atoms_prop" title="Permalink to this definition">¶</a></dt>
<dd><p>Extends Atoms.prop() by adding a scale argument.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>key</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.9)"><em>str</em></a><em>, </em><em>optional</em>) – Per-atom property name.</p></li>
<li><p><strong>index</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.9)"><em>int</em></a><em>, </em><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#list" title="(in Python v3.9)"><em>list</em></a><em>, </em><a class="reference external" href="https://docs.python.org/3/library/functions.html#slice" title="(in Python v3.9)"><em>slice</em></a><em>, </em><em>optional</em>) – Index of atoms.</p></li>
<li><p><strong>value</strong> (<em>any</em><em>, </em><em>optional</em>) – Property values to assign.</p></li>
<li><p><strong>a_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.9)"><em>int</em></a><em>, </em><em>optional</em>) – Integer atom index.  Left in for backwards compatibility.</p></li>
<li><p><strong>scale</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.9)"><em>bool</em></a><em>, </em><em>optional</em>) – Flag indicating if values should be scaled/unscaled. If True:
- Values being retrieved are scaled from absolute Cartesian to box relative vectors.
- Values being set are unscaled from box relative to absolute Cartesian vectors.
Default value is False.</p></li>
</ul>
</dd>
</dl>
</dd></dl>

<dl class="method">
<dt id="atomman.System.atypes">
<em class="property">property </em><code class="sig-name descname">atypes</code><a class="headerlink" href="#atomman.System.atypes" title="Permalink to this definition">¶</a></dt>
<dd><p>List of int atom types.</p>
<dl class="field-list simple">
<dt class="field-odd">Type</dt>
<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#tuple" title="(in Python v3.9)">tuple</a></p>
</dd>
</dl>
</dd></dl>

<dl class="method">
<dt id="atomman.System.box">
<em class="property">property </em><code class="sig-name descname">box</code><a class="headerlink" href="#atomman.System.box" title="Permalink to this definition">¶</a></dt>
<dd><p>underlying Box object.</p>
<dl class="field-list simple">
<dt class="field-odd">Type</dt>
<dd class="field-odd"><p>atommman.Box</p>
</dd>
</dl>
</dd></dl>

<dl class="method">
<dt id="atomman.System.box_set">
<code class="sig-name descname">box_set</code><span class="sig-paren">(</span><em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#atomman.System.box_set" title="Permalink to this definition">¶</a></dt>
<dd><p>Extends box.set() with a scale argument.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>scale</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.9)"><em>bool</em></a>) – If True, the scaled (box-relative) positions remain unchanged.
Default value is False (absolute positions unchanged).</p></li>
<li><p><strong>kwargs</strong> (<em>other</em>) – Any other kwargs allowed by box.set().</p></li>
</ul>
</dd>
</dl>
</dd></dl>

<dl class="method">
<dt id="atomman.System.composition">
<em class="property">property </em><code class="sig-name descname">composition</code><a class="headerlink" href="#atomman.System.composition" title="Permalink to this definition">¶</a></dt>
<dd><p>The system’s reduced and sorted symbols composition.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p>The system’s reduced and sorted symbols composition.
Will return None if symbols are missing</p>
</dd>
<dt class="field-even">Return type</dt>
<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.9)">str</a> or <a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.9)">None</a></p>
</dd>
</dl>
</dd></dl>

<dl class="method">
<dt id="atomman.System.dmag">
<code class="sig-name descname">dmag</code><span class="sig-paren">(</span><em class="sig-param">pos_0</em>, <em class="sig-param">pos_1</em><span class="sig-paren">)</span><a class="headerlink" href="#atomman.System.dmag" title="Permalink to this definition">¶</a></dt>
<dd><p>Computes the shortest distance between pos_0 and pos_1 using box
dimensions and accounting for periodic boundaries.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>pos_0</strong> (<em>numpy.ndarray</em><em> or </em><em>index</em>) – Absolute Cartesian vector position(s) to use as reference point(s).
If the value can be used as an index, then self.atoms.pos[pos_0]
is taken.</p></li>
<li><p><strong>pos_1</strong> (<em>numpy.ndarray</em><em> or </em><em>index</em>) – Absolute Cartesian vector position(s) to find relative to pos_0.
If the value can be used as an index, then self.atoms.pos[pos_1]
is taken.</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>The shortest vector magnitude from each pos_0 to pos_1 positions.</p>
</dd>
<dt class="field-odd">Return type</dt>
<dd class="field-odd"><p>numpy.ndarray</p>
</dd>
</dl>
</dd></dl>

<dl class="method">
<dt id="atomman.System.dump">
<code class="sig-name descname">dump</code><span class="sig-paren">(</span><em class="sig-param">style</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#atomman.System.dump" title="Permalink to this definition">¶</a></dt>
<dd><p>Convert a System to another format.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>style</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.9)"><em>str</em></a>) – Indicates the format of the content to dump the atomman.System as.</p></li>
<li><p><strong>kwargs</strong> – Any extra keyword arguments to pass to the underlying dump methods.</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>Any content returned by the underlying dump methods.</p>
</dd>
<dt class="field-odd">Return type</dt>
<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.9)">str</a>, <a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.9)">object</a> or <a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#tuple" title="(in Python v3.9)">tuple</a></p>
</dd>
</dl>
</dd></dl>

<dl class="method">
<dt id="atomman.System.dvect">
<code class="sig-name descname">dvect</code><span class="sig-paren">(</span><em class="sig-param">pos_0</em>, <em class="sig-param">pos_1</em><span class="sig-paren">)</span><a class="headerlink" href="#atomman.System.dvect" title="Permalink to this definition">¶</a></dt>
<dd><p>Computes the shortest vector between pos_0 and pos_1 using box
dimensions and accounting for periodic boundaries.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>pos_0</strong> (<em>numpy.ndarray</em><em> or </em><em>index</em>) – Absolute Cartesian vector position(s) to use as reference point(s).
If the value can be used as an index, then self.atoms.pos[pos_0]
is taken.</p></li>
<li><p><strong>pos_1</strong> (<em>numpy.ndarray</em><em> or </em><em>index</em>) – Absolute Cartesian vector position(s) to find relative to pos_0.
If the value can be used as an index, then self.atoms.pos[pos_1]
is taken.</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>The shortest vectors from each pos_0 to pos_1 positions.</p>
</dd>
<dt class="field-odd">Return type</dt>
<dd class="field-odd"><p>numpy.ndarray</p>
</dd>
</dl>
</dd></dl>

<dl class="method">
<dt id="atomman.System.masses">
<em class="property">property </em><code class="sig-name descname">masses</code><a class="headerlink" href="#atomman.System.masses" title="Permalink to this definition">¶</a></dt>
<dd><p>The masses associated with each atype if given.</p>
<dl class="field-list simple">
<dt class="field-odd">Type</dt>
<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#tuple" title="(in Python v3.9)">tuple</a></p>
</dd>
</dl>
</dd></dl>

<dl class="method">
<dt id="atomman.System.model">
<code class="sig-name descname">model</code><span class="sig-paren">(</span><em class="sig-param">box_unit=None</em>, <em class="sig-param">prop_name=None</em>, <em class="sig-param">unit=None</em>, <em class="sig-param">prop_unit=None</em><span class="sig-paren">)</span><a class="headerlink" href="#atomman.System.model" title="Permalink to this definition">¶</a></dt>
<dd><p>Generates a data model for the System object.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>box_unit</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.9)"><em>str</em></a><em>, </em><em>optional</em>) – Length unit to use for the box. Default value is ‘angstrom’.</p></li>
<li><p><strong>prop_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#list" title="(in Python v3.9)"><em>list</em></a><em>, </em><em>optional</em>) – The Atoms properties to include.  If neither prop_name nor prop_unit
are given, all system properties will be included.</p></li>
<li><p><strong>unit</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#list" title="(in Python v3.9)"><em>list</em></a><em>, </em><em>optional</em>) – Lists the units for each prop_name as stored in the table.  For a
value of None, no conversion will be performed for that property.  For
a value of ‘scaled’, the corresponding table values will be taken in
box-scaled units.  If neither unit nor prop_units given, pos will be
given in Angstroms and all other values will not be converted.</p></li>
<li><p><strong>prop_unit</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.9)"><em>dict</em></a><em>, </em><em>optional</em>) – dictionary where the keys are the property keys to include, and
the values are units to use. If neither unit nor prop_units given,
pos will be given in Angstroms and all other values will not be
converted.</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>A JSON/XML data model for the current System object.</p>
</dd>
<dt class="field-odd">Return type</dt>
<dd class="field-odd"><p>DataModelDict.DataModelDict</p>
</dd>
</dl>
</dd></dl>

<dl class="method">
<dt id="atomman.System.natoms">
<em class="property">property </em><code class="sig-name descname">natoms</code><a class="headerlink" href="#atomman.System.natoms" title="Permalink to this definition">¶</a></dt>
<dd><p>The number of atoms in the Atoms class.</p>
<dl class="field-list simple">
<dt class="field-odd">Type</dt>
<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.9)">int</a></p>
</dd>
</dl>
</dd></dl>

<dl class="method">
<dt id="atomman.System.natypes">
<em class="property">property </em><code class="sig-name descname">natypes</code><a class="headerlink" href="#atomman.System.natypes" title="Permalink to this definition">¶</a></dt>
<dd><p>The number of atom types/symbols.</p>
<dl class="field-list simple">
<dt class="field-odd">Type</dt>
<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.9)">int</a></p>
</dd>
</dl>
</dd></dl>

<dl class="method">
<dt id="atomman.System.neighborlist">
<code class="sig-name descname">neighborlist</code><span class="sig-paren">(</span><em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#atomman.System.neighborlist" title="Permalink to this definition">¶</a></dt>
<dd><p>Builds a neighbor list for the system.  The resulting NeighborList
object is saved to the object as attribute ‘neighbors’.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>cutoff</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#float" title="(in Python v3.9)"><em>float</em></a><em>, </em><em>optional</em>) – Radial cutoff distance for identifying neighbors.  Must be given if
model is not given.</p></li>
<li><p><strong>model</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.9)"><em>str</em></a><em> or </em><em>file-like object</em><em>, </em><em>optional</em>) – Gives the file path or content to load.  If given, no other
parameters are allowed.</p></li>
<li><p><strong>initialsize</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.9)"><em>int</em></a><em>, </em><em>optional</em>) – The number of neighbor positions to initially assign to each atom.
Default value is 20.</p></li>
<li><p><strong>deltasize</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.9)"><em>int</em></a><em>, </em><em>optional</em>) – Specifies the number of extra neighbor positions to allow each atom
when the number of neighbors exceeds the underlying array size.
Default value is 10.</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>The compiled list of neighbors.</p>
</dd>
<dt class="field-odd">Return type</dt>
<dd class="field-odd"><p><a class="reference internal" href="atomman.NeighborList.html#atomman.NeighborList" title="atomman.NeighborList">atomman.NeighborList</a></p>
</dd>
</dl>
</dd></dl>

<dl class="method">
<dt id="atomman.System.normalize">
<code class="sig-name descname">normalize</code><span class="sig-paren">(</span><em class="sig-param">style='lammps'</em>, <em class="sig-param">return_transform=False</em><span class="sig-paren">)</span><a class="headerlink" href="#atomman.System.normalize" title="Permalink to this definition">¶</a></dt>
<dd><p>Normalizes a system’s box vectors and atom positions to be compatible
with simulation codes.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>style</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.9)"><em>str</em></a><em>, </em><em>optional</em>) – Indicates the normalization style to use.  Default (and only
current option) is ‘lammps’.</p></li>
<li><p><strong>return_transform</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.9)"><em>bool</em></a><em>, </em><em>optional</em>) – Indicates if the transformation matrix associated with the
normalization is returned.  Default value is False.</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><ul class="simple">
<li><p><strong>newsystem</strong> (<em>atomman.System</em>) – A new system that has been normalized.</p></li>
<li><p><strong>transform</strong> (<em>np.ndarray</em>) – The transformation matrix associated with the normalization.
Returned if return_transform is True.</p></li>
</ul>
</p>
</dd>
</dl>
</dd></dl>

<dl class="method">
<dt id="atomman.System.pbc">
<em class="property">property </em><code class="sig-name descname">pbc</code><a class="headerlink" href="#atomman.System.pbc" title="Permalink to this definition">¶</a></dt>
<dd><p>The periodic boundary condition settings.</p>
<dl class="field-list simple">
<dt class="field-odd">Type</dt>
<dd class="field-odd"><p>list of bool</p>
</dd>
</dl>
</dd></dl>

<dl class="method">
<dt id="atomman.System.r0">
<code class="sig-name descname">r0</code><span class="sig-paren">(</span><em class="sig-param">neighbors=None</em><span class="sig-paren">)</span><a class="headerlink" href="#atomman.System.r0" title="Permalink to this definition">¶</a></dt>
<dd><p>Identifies the shortest interatomic spacing between atoms in the
system by comparing the shortest periodic box vector with the
smallest dmags of all neighbor atoms.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>neighbors</strong> (<a class="reference internal" href="atomman.NeighborList.html#atomman.NeighborList" title="atomman.NeighborList"><em>NeighborList</em></a><em>, </em><em>optional</em>) – A pre-computed NeighborList for the system.  If not given, a new
NeighborList will be computed using a cutoff distance based on the
smallest dmag between atom 0 and the rest of the system’s atoms.</p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>The shortest interatomic spacing identified.</p>
</dd>
<dt class="field-odd">Return type</dt>
<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/functions.html#float" title="(in Python v3.9)">float</a></p>
</dd>
</dl>
</dd></dl>

<dl class="method">
<dt id="atomman.System.rotate">
<code class="sig-name descname">rotate</code><span class="sig-paren">(</span><em class="sig-param">uvws</em>, <em class="sig-param">tol=None</em>, <em class="sig-param">return_transform=False</em><span class="sig-paren">)</span><a class="headerlink" href="#atomman.System.rotate" title="Permalink to this definition">¶</a></dt>
<dd><p>Transforms a System representing a periodic crystal cell from a standard
orientation to a specified orientation. Note: if hexagonal indices are
given, the vectors will be reduced to the smallest uvw integer
representation.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>uvws</strong> (<em>numpy.ndarray</em>) – A (3, 3) array of the Miller crystal vectors or a (3, 4) array of
Miller-Bravais hexagonal crystal vectors to use in transforming the
system.  Values must be integers.</p></li>
<li><p><strong>tol</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#list" title="(in Python v3.9)"><em>list</em></a><em> or </em><a class="reference external" href="https://docs.python.org/3/library/functions.html#float" title="(in Python v3.9)"><em>float</em></a><em>, </em><em>optional</em>) – Tolerance parameter used in determining which atoms are inside the
box.  Multiple values can be given as the identification may
occasionally fail for a given ucell and tol.  Default behavior will
try tol values ranging from 1e-4 to 1e-8.</p></li>
<li><p><strong>return_transform</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.9)"><em>bool</em></a><em>, </em><em>optional</em>) – Indicates if the transformation matrix associated with the
rotation is returned.  Default value is False.</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><ul class="simple">
<li><p><em>atomman.System</em> – A new fully periodic system rotated and transformed according to the
uvws crystal vectors.</p></li>
<li><p><strong>transform</strong> (<em>np.ndarray</em>) – The transformation matrix associated with the rotation.
Returned if return_transform is True.</p></li>
</ul>
</p>
</dd>
</dl>
</dd></dl>

<dl class="method">
<dt id="atomman.System.scale">
<code class="sig-name descname">scale</code><span class="sig-paren">(</span><em class="sig-param">value</em><span class="sig-paren">)</span><a class="headerlink" href="#atomman.System.scale" title="Permalink to this definition">¶</a></dt>
<dd><p>Scales 3D vectors from absolute Cartesian coordinates to relative box
coordinates.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>value</strong> (<em>numpy.ndarray</em>) – Values to scale.</p>
</dd>
</dl>
</dd></dl>

<dl class="method">
<dt id="atomman.System.supersize">
<code class="sig-name descname">supersize</code><span class="sig-paren">(</span><em class="sig-param">a_size</em>, <em class="sig-param">b_size</em>, <em class="sig-param">c_size</em><span class="sig-paren">)</span><a class="headerlink" href="#atomman.System.supersize" title="Permalink to this definition">¶</a></dt>
<dd><p>Creates a larger system from a given system by replicating it along the
system’s box vectors.</p>
<p>The multiplier values *_size are taken to be integer tuples (m, n) where
m &lt;= 0 and n &gt;= 0.  The system multiplication works such that if n = -m,
then the seed system’s origin will be at the center of the new system.
If only one integer is given, then it is assigned to m or n depending on
its sign, and the other value is taken to be 0.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>a_size</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.9)"><em>int</em></a><em> or </em><em>tuple of int</em>) – Single int or two integers specifying replication along the avect
direction.</p></li>
<li><p><strong>-- int</strong><strong> or </strong><strong>tuple of int</strong> (<em>c_size</em>) – Single int or two integers specifying replication along the bvect
direction.</p></li>
<li><p><strong>-- int</strong><strong> or </strong><strong>tuple of int</strong> – Single int or two integers specifying replication along the cvect
direction.</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>A new system created by replicating the given seed system according to
the *_size parameters.</p>
</dd>
<dt class="field-odd">Return type</dt>
<dd class="field-odd"><p><a class="reference internal" href="#atomman.System" title="atomman.System">atomman.System</a></p>
</dd>
</dl>
</dd></dl>

<dl class="method">
<dt id="atomman.System.symbols">
<em class="property">property </em><code class="sig-name descname">symbols</code><a class="headerlink" href="#atomman.System.symbols" title="Permalink to this definition">¶</a></dt>
<dd><p>The element model symbols associated with each atype.</p>
<dl class="field-list simple">
<dt class="field-odd">Type</dt>
<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#tuple" title="(in Python v3.9)">tuple</a></p>
</dd>
</dl>
</dd></dl>

<dl class="method">
<dt id="atomman.System.unscale">
<code class="sig-name descname">unscale</code><span class="sig-paren">(</span><em class="sig-param">value</em><span class="sig-paren">)</span><a class="headerlink" href="#atomman.System.unscale" title="Permalink to this definition">¶</a></dt>
<dd><p>Unscales 3D vectors from relative box coordinates to absolute
Cartesian coordinates.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>value</strong> (<em>numpy.ndarray</em>) – Values to unscale.</p>
</dd>
</dl>
</dd></dl>

<dl class="method">
<dt id="atomman.System.wrap">
<code class="sig-name descname">wrap</code><span class="sig-paren">(</span><em class="sig-param">return_imageflags=False</em><span class="sig-paren">)</span><a class="headerlink" href="#atomman.System.wrap" title="Permalink to this definition">¶</a></dt>
<dd><p>Wrap atoms around periodic boundaries and extend non-periodic
boundaries such that all atoms are within the box.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>return_imageflags</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.9)"><em>bool</em></a><em>, </em><em>optional</em>) – If True, an array of which image the atom was originally in is
returned.</p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>The imageflags array</p>
</dd>
<dt class="field-odd">Return type</dt>
<dd class="field-odd"><p>numpy.NDarray of int</p>
</dd>
</dl>
</dd></dl>

</dd></dl>

</div>


          </div>
        </div>
      </div>
      <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
        <div class="sphinxsidebarwrapper">
  <h4>Previous topic</h4>
  <p class="topless"><a href="atomman.Box.html"
                        title="previous chapter">Box</a></p>
  <h4>Next topic</h4>
  <p class="topless"><a href="atomman.ElasticConstants.html"
                        title="next chapter">ElasticConstants</a></p>
        </div>
      </div>
      <div class="clearer"></div>
    </div>
    <div class="related" role="navigation" aria-label="related navigation">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="genindex.html" title="General Index"
             >index</a></li>
        <li class="right" >
          <a href="py-modindex.html" title="Python Module Index"
             >modules</a> |</li>
        <li class="right" >
          <a href="atomman.ElasticConstants.html" title="ElasticConstants"
             >next</a> |</li>
        <li class="right" >
          <a href="atomman.Box.html" title="Box"
             >previous</a> |</li>
        <li class="nav-item nav-item-0"><a href="index.html">atomman 1.4.0 documentation</a> &#187;</li>
          <li class="nav-item nav-item-1"><a href="atomman.html" >atomman package</a> &#187;</li> 
      </ul>
    </div>
    <div class="footer" role="contentinfo">
      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 2.2.0.
    </div>
  </body>
</html>